5.1.3 -
Les manœuvres visant à perturber ou
à détruire :
5.1.3.A - Les virus, vers et chevaux de
Troie :
Dans le domaine de la sécurité la notion de virus est
certainement la notion la plus connue des utilisateurs.
En 2001, les vers
« Melissa » et « I love You » ont fait
la une des journaux et les dégâts causés se chiffrent en
millions de dollars. De nouvelles variantes apparaissent chaque jour. La
fabrication d’anti-virus est devenue une activité florissante et
lucrative dont les profits dépendent directement de la propagation de
codes malveillants.
Les virus informatiques classiques constituent la
catégorie de code malveillant la plus connue. Un virus est un programme
qui va se reproduire par des moyens divers et qui va parfois exécuter une
action particulière. La RFC 1135 définit un virus comme
suit : « un virus est un bloc de code qui s’introduit dans
un hôte afin de s’y propager. Il ne peut pas s’exécuter
de manière autonome. Pour que le virus soit activé, un programme
hôte doit être exécuté ».
Les vers
sont semblables aux virus mais au lieu de se reproduire localement, ils se
transmettent exclusivement entre les systèmes et n’infestent
généralement que la mémoire. La RFC 1135 en donne la
définition suivante : « un vers est un programme capable
de s’exécuter de manière autonome et d’utiliser les
ressources de son hôte de l’intérieur à ses propres
fins. Il peut transmettre une copie intégrale de lui même à
d’autres machines ».
Il existe différents types de
virus qui se distinguent par leur « lieu de vie » et leur
mode d'action :
- les virus de secteur d’amorçage :
Les virus
de secteur d'amorçage se tapissent dans le premier secteur d'un disque
physique (soit dans la zone d'amorce principale, soit dans la zone d'amorce
propre à chaque partition). Ces virus trouvent leur terrain de
prédilection au sein des environnements Microsoft. En effet, la structure
même du système d’exploitation Windows permet à ces
fichiers de se trouver chargés en mémoire avant les fichiers
système. Le virus peut alors contrôler l'ensemble des interruptions
machine et se ménager des opportunités inouïes de
reproduction et de destruction.
Les virus de secteur d'amorçage modifient soit le contenu du
secteur d'amorçage du disque lui-même ou celui du secteur
d'amorçage du système d’exploitation en remplaçant
leur contenu par les informations qu'il désire. Le contenu original du
secteur est déplacé vers une autre zone du disque et le virus
s'octroie cet emplacement. Le virus redirige certaines opérations vers
l'emplacement où il a inscrit les données du secteur original : le
virus est par conséquent exécuté en premier, ce qui lui
donne toute latitude pour se loger en mémoire avant que la
séquence d'amorçage ne se poursuive.
Les virus de secteur d'amorçage se chargent
généralement en mémoire et y demeurent jusqu'à ce
que l'ordinateur soit mis hors tension.
- les virus à infection de fichiers :
Les virus
à infection de fichiers se logent généralement au sein des
fichiers exécutable ou système et sont par conséquent
exécutés à chaque fois qu'un fichier infecté est
lancé. Il ne sont habituellement actifs qu'au moment du premier
chargement du premier fichier infecté et ne posent guère de
problèmes aux programmes antivirus standard.
Les virus à infection de fichiers nécessitent de se greffer
sur un fichier afin de pouvoir être exécutés. Les virus
parasitaires n'ont pas la possibilité de s'exécuter ou de se
reproduire d'eux-mêmes. Ils doivent modifier le contenu d'un fichier
exécutable afin de pouvoir exercer un contrôle sur son mode
d'opération. L'ordre des opérations habituellement
exécutées est modifié de manière que celles
dictées par le virus soient toujours exécutées en
priorité. Le processus d'infection est la plupart du temps invisible par
l'utilisateur, car une fois le virus exécuté, le programme
lancé continue à fonctionner normalement. Certains virus se
greffent à la fin d'un fichier programme, d'autres au début et
d'autres au début et à la fin.
- les virus non résidents en mémoire :
Les
virus qui ne résident pas en mémoire se greffent à des
fichiers exécutables et sont exécutés à chaque fois
que le fichier infecté est lancé.
Le code du virus est entièrement activé dès la
première étape du lancement d'un programme infecté.
D'autres programmes se trouvent alors infectés et servent à leur
tour de vecteurs d'infection lorsqu'ils se trouvent exécutés. Les
taux d'infection par ce genre de virus sont aussi élevés que ceux
des virus résidents parce que leur taille est petite et parce qu'ils ne
modifient pas les tables d'interruptions et ne se placent pas en mémoire.
La méthode d'infection est, de plus, hautement
imprévisible.
- les virus résidents en mémoire :
Les virus
résidents mémoire se logent dans la mémoire vive et
viennent parasiter le fonctionnement de diverses fonctions de bas niveau
(interruptions). Depuis leur localisation dans la RAM, ces virus peuvent causer
des dommages importants tout en restant à l'abri de certains programmes
antivirus.
La première fois qu'un virus résident mémoire est
exécuté, il vérifie s'il n'est pas déjà
chargé en mémoire. Si tel n'est pas le cas, il va se loger en
mémoire. A partir de ce moment, le virus va infecter
systématiquement tous les programmes exécutés qui ne le
sont pas déjà. Ce mode d'infection est à la fois rapide et
efficace et engendre une diffusion du virus inégalée.
Les virus multiformes
possèdent les caractéristiques des virus de secteur
d'amorçage et des virus parasitaires. Ils peuvent infecter les fichiers
exécutables ainsi que le secteur d'amorçage de disquettes et de
disques durs.
Les virus furtifs, autrement
nommés « intercepteurs d'interruptions », prennent le
contrôle des interruptions principales du système
d’exploitation de manière à leurrer celui-ci pour lui faire
croire (ainsi qu’à un grand nombre de programmes antivirus) que
l'ensemble des fichiers sont sains (Cela veut dire que les programmes qui
essaient de lire des fichiers ou des secteurs infectés en voient la forme
originale et non infectée, au lieu de la forme actuelle). Cette prise de
contrôle de la table d'interruptions s'effectue au tout début de la
zone mémoire. Lorsqu'une application émet une requête
d'interruption, celle-ci est habituellement redirigée vers la table
d'interruptions qui oriente les commandes et permet au programme de fonctionner
normalement. Dans le cas où un virus furtif intercepte ces
requêtes, il a alors la possibilité de les rediriger où bon
lui semble et par conséquent d'effectuer toutes les opérations
à sa guise.
Les virus polymorphes cryptent
ou modifient le code qui les compose à chaque fois qu'ils se reproduisent
: aucune copie d'un de ces virus ne ressemble aux autres. La plupart des
systèmes de détection de virus sont mis en échec par ce
genre de virus, car ils se réfèrent à une base de
signatures de virus connus.
Les virus polymorphes ont vu leur popularité augmenter
auprès des pirates suite au développement d'un « moteur
de mutation ». Le « Moteur de Mutation » a
été mis au point par une personne ou un groupe se faisant appeler
« Dark Avenger » (le vengeur noir). Il a été
diffusé sur plusieurs serveurs Internet et son code de programmation a
été rendu public. Il est livré avec un jeu complet
d'instructions permettant de transformer n'importe quel virus normal en virus
polymorphe.
- les virus réseau (ou Worms) :
Les virus
réseau prennent pour cible les systèmes d'exploitation pour
réseaux (en général Microsoft ou NetWare) et utilisent
ensuite le réseau pour se répandre. Ils prennent le contrôle
des interruptions des dits systèmes d’exploitation réseau
pour modifier l'effet des diverses requêtes d'interruptions.
- les virus flibustiers (ou « bounty hunters » ou
anti anti-virus) :
Les virus flibustiers prennent pour cible des
programmes antivirus spécifiques et les mettent en échec. Ce type
de virus est extrêmement rare mais est parfois très efficace contre
certains programmes antivirus.
Les chevaux de Troie
revêtent l’apparence de programmes classiques mais leur comportement
est inattendu et le plus souvent malveillant. Ils tirent leur nom d’un
épisode de l’Iliade au cours duquel les Troyens reçurent en
cadeau, pendant la guerre de Troie, un cheval de bois géant auquel ils
ouvrirent les portes de la cité. Au milieu de la nuit, des soldats grecs,
qui s’étaient cachés dans le cheval en sortirent pour ouvrir
les portes et permettre à l’armée grecque de prendre la
cité. Le point faible des chevaux de Troie est que l’utilisateur
doit accepter de les exécuter : il doivent donc se
déguiser.
Une bombe est un programme en attente d'un
événement spécifique déterminé par le
programmeur et qui se déclenche quand celui-ci se produit. Ce code
malicieux attend généralement une date particulière pour
entrer en action.
Les conséquences peuvent être bénignes comme
l'affichage d'un message, d'une image ou d'un logo mais aussi dommageables,
comme la destruction de données et plus rarement la
détérioration du matériel (carte mère, carte
contrôleur ou disque dur).
La société Microsoft
implémente au sein de ses systèmes d’exploitation ainsi que
dans l’ensemble de ses applications bureautiques le langage VB script. Ce
langage permet de relier toutes les applications entre elles et les virus macro
utilisent ce langage pour se répandre.
Les virus composites sont des
virus regroupant toutes les caractéristiques énoncées
ci-dessus. Ils infectent à la fois les fichiers, les enregistrements
principaux d'amorce et les secteurs d'amorce. Ces types de virus sont encore
rares, mais leur nombre croît de façon exponentielle.
5.1.3.B - Les attaques en déni de
service :
L’attaque par déni de service ou DoS (Denial of Service)
consiste à empêcher ou à limiter l’accès
à une ressource aux moyens de procédés malveillants
c'est-à-dire de rendre une ressource inaccessible à ses
utilisateurs autorisés. Les attaques en déni de service les plus
courantes sont :
- les attaques de type « smurf » consistant à
envoyer une série de trames réseau en lieu et place de la machine
visée sur un réseau local. Chaque machine du réseau
renverra alors la réponse vers la machine visée écroulant
par là même les performances de celle-ci ;
- les attaques par « SYN flood TCP » consistant à
lancer des requêtes de connexion réseau à une cadence telle
que le système est incapable de les traiter rapidement.